package someTestExcemple.reflect.annotation;

import java.lang.reflect.Method;

//模拟Junit框架 加了MyAnnotation2注解的方法执行
public class AnnotationTest2 {
    public void test1() {
        System.out.println("----test1--");
    }
    @MyAnnotation2
    public void test2() {
        System.out.println("----test2--");
    }
    @MyAnnotation2
    public void test3() {
        System.out.println("----test3--");
    }

    public static void main(String[] args) {
        Class c = AnnotationTest2.class;
        for (Method declaredMethod : c.getDeclaredMethods()) {
            //判断该方法是否有MyAnnotation2注解
            if(declaredMethod.isAnnotationPresent(MyAnnotation2.class)) {
                try {
                    //加了注解的方法执行
                    declaredMethod.invoke(new AnnotationTest2());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
